home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Various / JAMDisk #07 (1992)(Just Amiga Monthly)[WB].zip / JAMDisk #07 (1992)(Just Amiga Monthly)[WB].adf / DOC9110B.LZH / gcc.release < prev    next >
INI File  |  1991-10-05  |  6KB  |  201 lines

  1. [October 1991 release]
  2. Changes from beta release:
  3.  
  4. GCC:startup
  5. ===========
  6.  
  7. Now sets up the environment variable GCC_INCLUDES rather than relying
  8. on patched cpp.
  9.  
  10. In this archive (doc9110a.lzh).
  11.  
  12. GCC:bin
  13. =======
  14.  
  15. gcc now checks for the environment variable GCC_INCLUDES, which should
  16. contain eg "-I gcc:include -I gcc:amiga_include" and uses it instead
  17. of cpp's defaults if found.
  18.  
  19. ar will check & fail if a filename > 15 characters is found (I didn't
  20. want to change ar.h for this. I suppose it's there from when filenames
  21. in UN*X systems couldn't be larger than 14 chars. Must check what SunOS
  22. does!)
  23.  
  24. nm no longer gurus if there are no symbols in the file.
  25.  
  26. In archive bin9110a.lzh (the full system, including cpp, cc1, gas) or
  27. archive nbin9110a.lzh (the above files omitted). The reason for the
  28. difference is that the files are *big* and already available on CIX.
  29.  
  30. GCC:lib
  31. =======
  32.  
  33. See separate change log (pdc.release) for details of functional changes.
  34.  
  35. Organisationally, libgnu.a has disappeared (incorporated in libpdc.a),
  36. and all the math support bar printf(), scanf() are also in libpdc.a -
  37. because ld is a single-pass linker and this is the only way I could get
  38. sensible behaviour. How does the UN*X gcc suite handle this? Perhaps it
  39. uses a .o file rather than a library?
  40.  
  41. GCC:include
  42. ===========
  43.  
  44. See separate change log (pdc.release) for details of changes.
  45.  
  46. Simon Wright
  47. sjwright@cix.compulink.co.uk
  48. --------------------------------------------------------------------
  49. [beta release]
  50. OK Folks! This is Amiga GNU C 1.37, as uploaded by Richard
  51. Harrison (tricky@cix) in December 1990 and since, with mods by
  52. me, Simon Wright (sjwright@cix) as follows:
  53.  
  54. GCC:startup
  55. ===========
  56.  
  57. This is a sample startup file.
  58.  
  59.  
  60. GCC:bin
  61. =======
  62.  
  63. I have patched cc1 to not report times for passes (they were all
  64. zero anyway).
  65.  
  66. I have patched cpp to make it recognise amiga-include: as a
  67. searchable directory [Richard, there were four names,
  68. GCC-INCLUDE:, /usr/include, usr/lib/include, and AMIGA-INCLUDE:;
  69. I patched the third to read AMIGA-INCLUDE: since cpp clearly
  70. thought there were only 3 names].
  71.  
  72. I have done a preliminary port of ld, which had been partially
  73. ported by Markus Wild.  This only recognises the Sun-format
  74. object files produced by gas [Richard, I checked out the SunOS
  75. 4.0.3 manuals, they only generate COFF on the 386 boxes].  It
  76. remains to accept Amiga objects or, at least, to provide some
  77. means of accessing chip/fast memory.
  78.  
  79. I have ported ar, objdump, and nm.  objdump will only handle .o
  80. files; nm seems inclined to guru if given an executable with
  81. symbols stripped.  The only way of stripping symbols is to use
  82. ld -s. (but see below).
  83.  
  84. gcc is the GNU front-end (not the renamed PDC front-end
  85. originally uploaded).  I haven't done much to the C++ support so
  86. it isn't likely to work.  There are loads of options, I
  87. downloaded the TeX file (from cix:free_sources I think) and here
  88. is a summary of the more commonplace ones (I hope I am allowed to
  89. do that much! the original contains a lengthy not-to-be-removed
  90. polemic on look'n'feel).  Options can't be run together; write
  91. -cO as -c -O.
  92.  
  93. General:
  94. -------
  95.  
  96. -o file     output is file.
  97.  
  98. -v          be verbose.
  99.  
  100. Compilation:
  101. -----------
  102.  
  103. -c          compile.
  104.  
  105. -O          optimise.
  106.  
  107. -D def      define def.
  108.  
  109. -I loc      add loc to front of standard include locations
  110.             (these are gcc-include: and amiga-include:).
  111.  
  112. -Q          be unquiet (list functions as compiled).
  113.  
  114. Linking:
  115. -------
  116.  
  117. -l lib      add the library liblib.a to the input to ld at the
  118.             point in the sequence of object files implied by
  119.             its position in the sequence of source and object
  120.             files given.
  121.  
  122. -L loc      add loc to the standard library locations (just
  123.             gcc:lib at present).
  124.  
  125. -s          include symbols in the executable (not a lot of
  126.             use at the moment).
  127.  
  128. Changes from standard cc:
  129. ------------------------
  130.  
  131. o   Default output executable filename is the filename of
  132.     the first object file with all back to the first period
  133.     stripped (if no period, a.out).
  134.  
  135. o   -s is inverted as it's passed to ld, so you say -s to
  136.     request symbols rather than to strip them.
  137.  
  138. Environment:
  139. -----------
  140.  
  141. Specify the workfile location (default t:) by
  142.  
  143.     > setenv TMPDIR loc
  144.  
  145. The default startup file (see below under GCC:lib) is
  146. arpc.o, which gives you ARP-style wildcard expansion on the
  147. command line.  Change the default by
  148.  
  149.     > setenv GCC_STARTFILE_SPEC spec.o%s
  150.  
  151. where spec.o is the startup file (the %s means 'search standard
  152. locations for this file', so omit it if you want to stop searching).
  153.  
  154. Other environment options exist but should not be necessary.
  155.  
  156.  
  157. GCC:include
  158. ===========
  159.  
  160. The header files are largely taken from the PDC 3.3 release.  I
  161. have altered them to be nearer to Standard C.  I have also
  162. included some extras (alloca.h, getopt.h, dosfunctions.h, and two
  163. versions of arpfunctions.h).
  164.  
  165.  
  166. GCC:lib
  167. =======
  168.  
  169. There are two object files:
  170.  
  171. o   dosc.o is for normal DOS use, no wildcard expansion in
  172.     arguments, quotes ["] handled like VAX/VMS; and
  173.  
  174. o   arpc.o, which uses arp.library to do wildcard expansion
  175.     transparently to your program.
  176.  
  177. There are 5 library files:
  178.  
  179. o   libpdc.a is the main C library (PDC 3.3 with my mods, see
  180.     separate document),
  181.  
  182. o   libgnu.a is GNU support,
  183.  
  184. o   libamiga.a is the equivalent of amiga.lib; it contains C
  185.     stubs for the system .library files and also the
  186.     exec_support functions,
  187.  
  188. o   libarp.a contains ARP stubs, and
  189.  
  190. o   libmath.a contains the C math routines and the version of
  191.     printf() etc that supports floating point.
  192.  
  193.  
  194. Simon Wright
  195. sjwright@cix.compulink.co.uk
  196. (+44)329-280835
  197. 22 Somervell Drive
  198. Fareham
  199. PO16 7QG
  200. United Kingdom
  201.